package com.brillilab.domain.vo.kit;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

import com.brillilab.domain.po.kit.ReagentAntibody;
import com.brillilab.domain.po.kit.ReagentPlasmid;
import com.brillilab.domain.po.kit.ReagentPrimer;
import com.brillilab.domain.po.system.FileManage;
import com.brillilab.domain.vo.common.KeyValue;
import com.brillilab.domain.vo.inventory.InventoryPositionInfo;

import lombok.Data;

/**
 * 试剂信息
 *
 * @author lj
 */
@Data
public class ReagentInfoVo implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
     * 是否实验室已有：0-否，1-是
     */
    private Integer isLabExist;

    /**
     * 试剂ID
     */
    private Long reagentId;

    /**
     * kitID
     */
    private Long kitId;

    /**
     * 实验室ID
     */
    private Long labId;

    /**
     * 成分类型ID
     */
    private Long reagentTypeId;
    //试剂一级类型或者样品本级类型
    private Long firstReagentTypeId;
    /**
     * 分类：1-试剂，2-样品
     */
    private Integer classify;

    /**
     * 来源ID
     */
    private Long fromId;

    /**
     * 名称
     */
    private String name;

    /**
     * 别名
     */
    private String alias;

    /**
     * 温区
     */
    private Integer zone;

    /**
     * 单位
     */
    private Integer unit;

    /**
     * 浓度
     */
    private BigDecimal concentration;

    /**
     * 分子单位
     */
    private Integer numeratorUnit;

    /**
     * 分母单位
     */
    private Integer denominatorUnit;

    /**
     * 货号
     */
    private String itemNo;

    /**
     * 说明书
     */
    private String instruction;

    /**
     * 备注
     */
    private String remark;

    /**
     * 成分类型名称
     */
    private String reagentTypeName;
    /**
     * 温区名称
     */
    private String zoneName;
    /**
     * 单位名称
     */
    private String unitName;
    /**
     * 分子单位名称
     */
    private String numeratorUnitName;
    /**
     * 分母单位名称
     */
    private String denominatorUnitName;

    /**
     * 规格名称
     */
    private String specName;

    /**
     * 说明书文件列表
     */
    private List<FileManage> instructionFileList;

    /**
     * 试剂抗体
     */
    private ReagentAntibody reagentAntibody;

    /**
     * 试剂质粒
     */
    private ReagentPlasmid reagentPlasmid;

    /**
     * 试剂引物
     */
    private ReagentPrimer reagentPrimer;

    private List<KeyValue<String, Boolean>> positionList;
    /**
     * 库存位置可用量
     */
    private String AmountStr;

    private List<InventoryPositionInfo> invInfoList;
}
